# Python completion


comp_include _filedir _get_cword


_python()
{
    local prev cur

    COMPREPLY=()
    cur=`_get_cword`
    prev=${COMP_WORDS[COMP_CWORD-1]##*/}

    case "$prev" in
    -Q)
        COMPREPLY=( $( compgen -W "old new warn warnall" -- $cur ) )
        return 0
        ;;
    -W)
        COMPREPLY=( $( compgen -W "ignore default all module once error" -- $cur ) )
        return 0
        ;;
    -c)
        _filedir '@(py|pyc|pyo)'
        return 0
        ;;
    !(python|-?))
        [[ ${COMP_WORDS[COMP_CWORD-2]} != -@(Q|W) ]] && _filedir
        ;;
    esac


    # if '-c' is already given, complete all kind of files.
    for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
        if [[ ${COMP_WORDS[i]} == -c ]]; then
            _filedir
        fi
    done


    if [[ "$cur" != -* ]]; then
        _filedir '@(py|pyc|pyo)'
    else
        COMPREPLY=( $( compgen -W "- -d -E -h -i -O -Q -S -t -u \
                       -U -v -V -W -x -c" -- $cur ) )
    fi



    return 0
} # _python()
